#ifndef COMMANDSUR_H
#define COMMANDSUR_H

class DClassEntity;
class DDocument;

namespace Commands {

class DAddClassCommand : public QUndoCommand
{
public:
	DAddClassCommand(ClassType type, const QString& className, Access inhType,
	   DDocument* pDoc, DClassEntity* pBaseClass = 0, QUndoCommand* pParentCommand = 0);

	void redo();
	void undo();
private:
	DClassEntity* m_pClass;
	DClassEntity* m_pBaseClass;
	DDocument* m_pDoc;
};

class DRemoveClassCommand : public QUndoCommand
{
public:
	DRemoveClassCommand(DClassEntity* pClass, DDocument* pDoc, QUndoCommand* pParentCommand = 0);

	void redo();
	void undo();
private:
	DClassEntity* m_pClass;
	DClassEntity* m_pBaseClass;
	DDocument* m_pDoc;
};

} // namespace Commands

#endif // COMMANDSUR_H
